﻿Imports BusinessLogicLayer
Imports BE = BusinessEntities
Imports System.Data



Partial Class Encuestas_AgregarPreguntas
    Inherits System.Web.UI.Page

    Dim errores As String
    Dim mensaje As String
    Public Shared parametroenviado As String
    Dim itemgridview As GridViewRow
    Dim casilla As System.Web.UI.WebControls.CheckBox
    Dim opcion As String

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Page.IsPostBack Then
            parametroenviado = Request.QueryString("id")


            'Hacemos una referencia a la clase
            Dim capanegocios As New EncuestaBL
            Dim objeto As New BE.EncuestaBE


            Try
                'Invocamos los metodos
                EnlazarGridView()
                MostarPreguntas()
                MostarOpciones()

            Catch ex As Exception

                errores = capanegocios.ChapaError
                Response.Redirect("Errores.aspx?id=" & errores)


            Finally
                'Liberamos recursos
                capanegocios = Nothing
                objeto = Nothing
            End Try


        End If


    End Sub
    Sub EnlazarGridView()


        'Hacemos una referencia a las  clase
        Dim capanegocios As New EncuestaBL
        Dim objeto As New BE.EncuestaBE

        Dim capanegociosresultados As New ResultadoBL
        Dim objetoresultado As New BE.ResultadoBE

        'llenamos  las  propiedades
        objeto.codigo = parametroenviado
        objetoresultado.codigoencuesta = parametroenviado


        lblencabezado.Text = "Adición de preguntas a la encuesta " + capanegocios.BuscarEncuesta(objeto).Tables("LaEncuesta").Rows(0).Item(1)

        gvpreguntas.DataSource = capanegociosresultados.ListarPreguntasxEncuesta(objetoresultado)
        gvpreguntas.DataBind()
        'Liberamos recursos
        capanegocios = Nothing
        capanegociosresultados = Nothing

        If gvpreguntas.Rows.Count < 1 Then
            'btnprocesar.Visible = False
            'lblmensaje.Text = "¡La encuesta carece de preguntas!"
        End If

    End Sub
    Sub MostarPreguntas()

        'Hacemos una referencia a la clase
        Dim capanegocios As New PreguntaBL
        Dim carrito As New BE.PreguntaBE

        'Invocamos al método  definido previamente en la clase
        ddlpreguntas.DataSource = capanegocios.ListarPreguntas
        ddlpreguntas.DataValueField = "COD_PREG"
        ddlpreguntas.DataTextField = "TENOR_PREG"
        ddlpreguntas.DataBind()
        'Liberamos recursos
        capanegocios = Nothing

    End Sub

    Sub MostarOpciones()

        'Hacemos una referencia a la clase
        Dim capanegocios As New OpcionesBL
        Dim carrito As New BE.OpcionesBE

        'Invocamos al método ConsultarCarrito definido previamente en la clase
        gvopciones.DataSource = capanegocios.ListarOpciones
        gvopciones.DataBind()
        'Liberamos recursos
        capanegocios = Nothing

    End Sub

    Protected Sub btnprocesar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnprocesar.Click
        If ddlpreguntas.SelectedIndex = -1 Then
            lblresultado.Text = "Elija alguna pregunta"
            Exit Sub
        End If

        'Instanciamos la clase ClienteBL
        Dim capanegocios As New ResultadoBL
        'Instancias la entidad ClienteBE
        Dim objeto As New BE.ResultadoBE

        'Llenas las propiedades


        objeto.codigoencuesta = parametroenviado
        objeto.codigopregunta = ddlpreguntas.SelectedItem.Value

        For Each itemgridview In gvopciones.Rows
            casilla = itemgridview.FindControl("chkseleccionar")
            If casilla.Checked Then
                'Capturamos el código de la opción a ser añadida
                objeto.codigoopcion = CType(itemgridview.FindControl("lblopcion"), Label).Text
                'Invocamos al método de la clase para adicionar la opción a la pregunta
                capanegocios.ArmarEncuesta(objeto)
            End If

        Next
        'Refrescamos los datos
        gvpreguntas.DataSource = capanegocios.ListarPreguntasxEncuesta(objeto)
        gvpreguntas.DataBind()



        capanegocios = Nothing
        objeto = Nothing


    End Sub

    Public Function ObtenerOpciones(ByVal encuesta As String, ByVal pregunta As String) As DataView

        'Instanciamos la clase ClienteBL
        Dim capanegocios As New ResultadoBL
        'Instancias la entidad ClienteBE
        Dim objeto As New BE.ResultadoBE

        'Llenas las propiedades

        objeto.codigoencuesta = encuesta
        objeto.codigopregunta = pregunta

        Return capanegocios.ListarOpcionesxPreguntayEncuesta(objeto).Tables("OpcionesxPreguntayEncuesta").DefaultView


        capanegocios = Nothing
        objeto = Nothing




    End Function
End Class

